package Service;

import java.util.List;

import Beans.Admin;
import Beans.Agent;
import Beans.Box;
import Beans.Branch;
import Beans.Goods;
import Beans.Package;
import Beans.Terminal;

public interface BoxAndPackageServiceInterface {

	public abstract void back(int terminalID, int boxNum, int type);

	void clearAllUseBox(int terminalID, int type);

	List<Package> dealPackage(List<Package> packages, Package p, int packageID,
			Admin admin);

	void unLockParcel(Package p, int packageID, Admin admin);

	void unTaken(int terminalID, int boxNum, int type, Admin admin);

	List<Agent> getAllAgent(List<Agent> agents);

	List<Branch> getBranchByAgent(int agentId);

	List<Terminal> getTerminalByBranch(int branchId);

	List<Package> getUnTakenPakcages(int agentID, int branchID, int terminalID,
			int detained);

	/**
	 * 获取存入包裹详情
	 * 
	 * @param terminalID
	 * @param boxNum
	 * @return
	 */
	List<Package> getStorePackage(int terminalID, int boxNum);

	/**
	 * 获取存入物品详情
	 * 
	 * @param terminalID
	 * @param boxNum
	 * @return
	 */
	List<Goods> getStoreGoods(int terminalID, int boxNum);

	/**
	 * 远程开锁物品
	 * 
	 * @param terminalID
	 * @param boxNum
	 * @param type
	 * @param admin
	 */
	void takeGoods(int terminalID, int boxNum, int type, int goodsID,
			Admin admin);

	void take(int terminalID, int boxNum, int type, int packageID, Admin admin);

	void unTakenGoods(int terminalID, int boxNum, int type);

	void signParcel(String newPhone, Package p, int packageID, Admin admin,
			int problemID, int operate, int detained, String reason,
			String comment);

}